#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{   
//	int a, n;
//	int sum=0;
//	scanf("%d %d", &a, &n);
//	int c = a;
//	for (int i = 0;i < n;i++)
//	{
//		sum += c;
//		a *= 10;
//		c = a + c;
//	}
//	printf("%d", sum);
//	return 0;
//}
//#include <stdio.h>
//
//int main() {
//	int n, a[1000], i, j;
//	double m = 0.0;
//	while (scanf("%d", &n) != EOF)
//	{
//		for (i = 0;i < n;i++)
//		{
//			scanf("%d", &a[i]);
//		}
//		for (i = 0;i < n - 1;i++)
//		{
//			for (j = 0;j < n - 1 - i;j++)
//			{
//				if (a[j] > a[j + 1])
//				{
//					int temp = a[j + 1];
//					a[j + 1] = a[j];
//					a[j] = temp;
//				}
//			}
//		}
//		if (n % 2 == 0)
//		{
//			m = (a[n / 2 - 1] + a[n / 2]) / 2.0;
//		}
//		else {
//			m = a[n / 2];
//		}
//		printf("%.1lf\n", m);
//	}
//	return 0;
//}
#include <stdio.h>
int main() {
	int n, a[10], i, j;
	while (scanf("%d", &n) != EOF)
	{
		int sum[10] = { 0 };
		if (n == 0)
			break;
		for (i = 0;i < n;i++)
		{
			scanf("%d", &a[i]);
		}
		for (i = 0;i < n;i++)
		{
			int temp = a[i];
			while (temp > 0)
			{
				int g = temp % 10;
				temp /= 10;
				sum[i] += g;
			}
		}
		for (i = 0;i < n;i++)
		{
			for (j=0;j<n-1-i;j++)
			{
				if (sum[j] > sum[j + 1])
				{
					int temp = a[j + 1];
					a[j + 1] = a[j];
					a[j] = temp;
					int tep = sum[j + 1];
					sum[j + 1] = sum[j];
					sum[j] = tep;
				}
			}
		}
		for (i = 0;i < n;i++)
		{
			printf("%d ", a[i]);
		}
		printf("\n");
	}
	return 0;
}